package com.anquing.socket04;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * @author Administrator
 *Datagram客户端
 */
public class UDPClient {

	public static void main(String[] args) throws IOException {
		/*
		 * 客户端向服务器端发送数据
		 */
		// 1、定义服务器的地址、端口号、数据
		InetAddress address = InetAddress.getByName("localhost");
		int port = 7777;
		byte[] data = "用户名：admin；密码：123".getBytes();
		//2、创建数据报，包含发送的数据信息
		DatagramPacket datagramPacket = new DatagramPacket(data, data.length, address, port);
		//3、创建客户端DatagramSocket
		DatagramSocket datagramSocket = new DatagramSocket();
		//4、发送数据
		datagramSocket.send(datagramPacket);
		/*
		 * 客户端接收服务器端的响应
		 */
		//1、创建数据报DatagramPacket,用于接收客户端发送的数据
		byte[] data2=new byte[1024];
		DatagramPacket datagramPacket2 = new DatagramPacket(data2, data2.length);
		//3、接收客户端发送的数据
		datagramSocket.receive(datagramPacket2);//此方法在接收到数据报之前会一直阻塞
		//4、读取数据
		String info = new String(data2, 0,datagramPacket2.getLength());
		System.out.println("我是客户端，服务器端说："+info);
	}

}
